nmap12345678910111213Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-11-26 00:37 ESTWarning: 10.10.11.134 giving up on port because retransmission cap hit (10).Stats: 0:00:38 elapsed; 0 hosts completed (1 up), 1 undergoing SYN Stealth ScanSYN Stealth Scan Timing: About 48.37% done; ETC: 00:38 (0:00:39 remaining)Stats: 0:00:58 elapsed; 0 hosts completed (1 up), 1 undergoing SYN Stealth ScanSYN Stealth Scan Timing: About 71.68% done; ETC: 00:39 (0:00:23 remaining)Nmap scan report for 10.10.1...
nmap1234567891011121314151617181920212223242526272829└─$ sudo nmap -sS 10.10.11.113 -p- --min-rate=2000Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-11-26 23:54 ESTStats: 0:00:00 elapsed; 0 hosts completed (0 up), 1 undergoing Ping ScanPing Scan Timing: About 50.00% done; ETC: 23:54 (0:00:00 remaining)Nmap scan report for 10.10.11.113Host is up (0.35s latency).Not shown: 65528 closed tcp ports (reset)PORT STATE SERVICE22/tcp open ssh80/tcp open http4566/tcp open kw...
nmap12345678910111213141516171819202122232425262728└─$ sudo nmap -sS 10.10.10.172 -p- --min-rate=2000 [sudo] password for fonllge: Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-11-24 21:44 ESTNmap scan report for 10.10.10.172Host is up (0.25s latency).Not shown: 65526 filtered tcp ports (no-response)PORT STATE SERVICE53/tcp open domain88/tcp open kerberos-sec135/tcp open msrpc139/tcp open netbios-ssn389/tcp open ldap445/tcp open microsoft-ds5985/tcp ope...
nmap123456789└─$ sudo nmap -sS 10.10.10.203 -p80,3690 -sV --min-rate=2000Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-11-23 00:14 ESTNmap scan report for 10.10.10.203Host is up (0.26s latency).PORT STATE SERVICE VERSION80/tcp open http Microsoft IIS httpd 10.03690/tcp open svnserve Subversion5985/tcp
to User开放了svn,尝试未授权,可以看到有5个版本变更
1234567891011└─$ svn info svn://10.10.10.203:3690Path: .URL: svn://10.10.10.203Relative URL: ^/Repository Root: svn://10.10.10.203Repository UU...
入门题,考察 x64的字符格式化漏洞 和 Canray
main里一个switch case
12341.add2.naming3.edit4.show
menu()这也有
再看每个函数
add()
naming()
这里很明显的存在fmt漏洞,变量名上其实也给了提示
edit()
这里是一个写入,写入长度是_b所存储的长度。
gdb断点看下b所在的位置
下一个rip地址0x55555555533c+0x2d2c=0x555555558068
其实这个是在bss部分
从反编译也可以看到
show()
思路从反编译的地址可以看出这题开了pie,还有喜闻乐见的canary。
顺便题目还给了个libc
既然考点是format,那存在fmt漏洞的也就只有naming函数,不过他写死了长度0x30,也就只能做fmt漏洞使用,触发点不在这个func里
另一个可以输入但是没有完全写死长度的是edit()
这里他是从bss部分的_b里取长度值的,泄露pie基地址+4068就可以获取_b的地址,用fmt的$n直接写就好
梳理一下
1.现在naming()存在fmt漏洞
...
这题考察的还是对子进程与父进程之间堆栈的关系
debug部分参考的这位师傅
https://mp.weixin.qq.com/s/ngdtDGE8bGVe6v3GTrH1rw
依照程式启动时输出的leave your name
查看string调用找到004019e9()
再追下,就到了main()中
看下调用顺序
应当是
12300401931() -> 004019e9()
但神奇的是它在程式执行过程中,首先输出的是004019e9的leave_your_name
而后才是00401931的Wanna_return
实际上在gdb的debug时候这部分的逻辑有些乱,所以我换到ida之后发现,他会进入401931()
而后执行到这里会call 44EDF0
eax给了0x3a这里是
1234567#syscallrax:系统调用号rdi:第一个参数。rsi:第二个参数。rdx:第三个参数。r10:第四个参数。....
158 common vfork sys_vfork
所以这里是syscall_vfork创建一个子进程
在其中他会sys_vfo...
对TransformMap调用了setValue(),但因为他的父类是AbstractInputCheckedMapDecorator其中的MapEntry继承AbstractMapEntryDecorator,而这个AbstractMapEntryDecorator实现了Map.entry部分,同时其子类MapEntry重写了setValue,所以TransformMap在Mapentry轮询的时候调用setValue调用的是他爹的
AnnotationInvocationHandler因为不是公共类,所以只能通过反射的形式获取而后实例化
1234Class c = Class.forName("sun.reflect.annotation.AnnotationInvocationHandler");Constructor TestConstructor = c.getDeclaredConstructor(Class.class,Map.class);TestConstructor.setAccessible(true);Object o = TestC...
1之后会更新一部分可以公开的脱敏后的拿点或src的思路过程记录,以供熟悉的朋友和师傅们参考
1本文强脱敏,因为涉及的企业都很大,涉及到信息和资产相关的都不会贴图,相关特征图片也用其他类似的代替,所以文字占了大部分,着重记录一下思路,十分抱歉师傅们见谅。
本次攻击用到了两个供应链,包含一个我没公开的day
这次的目标是一个投送广告的大屏管理企业,拿下了这个系统基本就控住了那个地市三分之一的商业大屏
而其资产是托管在其他厂商那里,或者说是委托其他厂商来开发运维,目标只是作为使用方。
那目标就很明确,由这目标单位范围延伸覆盖到了运维厂商侧,然后开始收集厂商资产。
在收集过程中发现这个厂商做了非常多家企业的运维开发业务,但业务系统并不一致,只是主域名资产都是备案在厂商。
不过对于这种单位,他运维团队除非很大,否则在运维习惯上会有很大的通用性,为了验证这点,在查了他单位的人员信息和一些采购、业务纠纷、合同指标之后发现他公司的开发运维技术团队并不大,直觉告诉我只要打进一个或者两个,就有很大概率杀到目标单位。
所以我挑选了旗下的一个建筑企业,因为他的ui很眼熟,让我想起来一个年初时候的...